﻿-- =============================================
-- Author:		Jhonatan Christian Belmontes Morales
-- Create date: 25/03/2012
-- Description:	Obtiene pacientes
-- =============================================
CREATE PROCEDURE [dbo].[spObtenPaciente]
    (
      @pnIdPaciente INT ,
      @pnIdLaboratorio INT ,
      @psNombre NVARCHAR(150)
    )
AS 
    BEGIN  
  
        SET NOCOUNT ON ;  
        
        IF @psNombre = '' 
            SET @psNombre = NULL ;

        SELECT  p.IdLaboratorio ,
                p.IdPaciente ,
                p.Nombre + ' ' + p.ApellidoPaterno + ' ' + p.ApellidoMaterno AS Nombre ,
                CAST(p.Edad AS NVARCHAR(3)) + ' ' + ct.Descripcion AS Edad ,
                cs.Descripcion AS Sexo ,
                p.fur ,
                p.Calle + ' ' + p.NumeroInt + ' - ' + p.NumeroExt + ', '
                + cc.NombreColonia + ', ' + cm.NombreMunicipio + ', '
                + ce.NombreEstado + ', ' + p.CodigoPostal ,
                p.Telefono ,
                cp.Descripcion ,
                cu.UserName ,
                dbo.fnObtenDoctores(@pnIdPaciente, @pnIdLaboratorio) ,
                p.FechaMod ,
                p.IpMod ,
                p.IdUsuarioMod
        FROM    dbo.CatPaciente p
                INNER JOIN dbo.CatTiempo ct ON p.IdTiempo = ct.IdTiempo
                INNER JOIN dbo.CatSexo cs ON p.IdSexo = cs.IdSexo
                INNER JOIN dbo.CatColonia cc ON p.IdColonia = cc.IdColonia
                INNER JOIN dbo.CatEstado ce ON p.IdEstado = ce.IdEstado
                INNER JOIN dbo.CatMunicipio cm ON p.IdMunicipio = cm.IdMunicipio
                INNER JOIN dbo.CatProcedencia cp ON p.IdProcedencia = cp.IdProcedencia
                INNER JOIN dbo.CatUsuario cu ON cu.IdLaboratorio = p.IdLaboratorio
                INNER JOIN dbo.RelUsuarioPaciente rup ON rup.IdPaciente = p.IdPaciente
        WHERE   ( p.Nombre LIKE '%' + @psNombre + '%'
                  OR @psNombre IS NULL
                )
                AND ( p.IdPaciente = @pnIdPaciente
                      OR @pnIdPaciente IS NULL
                    )   
        
        SET NOCOUNT OFF ;  
    END